/*
 * Copyright 2008 Neil Bacon
 * Distributed under the terms of the Mozilla Public License version 1.1
 * or the GNU General Public License version 3.
 */

package nb.ref;

/**
 * A Soft or Weak Reference that remembers the key associated with it.
 * @param <K>
 * @param <V>
 */
public interface ValueReference<K, V> {

    /**
     * Get key associated with this Reference.
     * @return key
     */
    K getKey();

    /**
     * Get referent.
     * @return referent
     */
    V get();
}
